package com.elock.service.serviceImpl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.elock.base.core.service.impl.BaseServiceImpl;
import com.elock.dao.SystemParameterBaseDao;
import com.elock.entity.SystemParameter;
import com.elock.service.AdminSystemParameterBaseService;
import com.elock.util.SystemConfig;

@Service("adminSystemParameterBaseServiceImpl")
public class AdminSystemParameterBaseServiceImpl extends BaseServiceImpl<SystemParameter>
		implements AdminSystemParameterBaseService {

	@Resource(name = "systemParameterBaseDao")
	private SystemParameterBaseDao systemParameterBaseDao;

	@Override
	@Transactional
	public void updateSystemParameter(SystemParameter systemParameter) {

//		SystemParameter parameter = find(systemParameter.getId());
//
//		Long companyInfoId = parameter.getCompanyInfoId();

		//更新参数
		update(systemParameter, "companyInfoId");

		//更新缓存
		SystemConfig.updateMap(systemParameter.getCode(),
				systemParameter.getValue(),
				null);
	}

	@Override
	@Transactional(readOnly = true)
	public SystemParameter getAdminParam(String code) {
		return systemParameterBaseDao.getAdminParam(code);
	}
}
